Rake 是一套類似 Make 的 Builder 工具,讓我們可以編寫一些腳本任務,並且很方便設定各任務的相依性。在 Rails 之中就內建了許多 rake 指令,除了你已經使用過的 rake db:migrate 之外,還有例如:
rake db:migrate
rake db:drop
rake tmp:clear
rake notes
輸入 rake -T 看到所有的 rake 指令。而要在 Rails 環境中編寫 Rake,請將附文件名爲 .rake 的文件放在 lib/tasks 目錄下即可,例如:/lib/tasks/dev.rake
# encoding: utf-8
namespace :dev do
desc "Rebuild system"
task :build => ["tmp:clear", "log:clear", "db:drop", "db:create", "db:migrate", :setup ]
desc "Setup system data"
task :setup => :environment do
puts "Create system user"
u = User.new( :login => "root", :password => "password", :email => "root@example.com", :name => "管理員")
u.is_admin = true
u.save!
end
end
透過執行 rake dev:build,就會自動清除 log 文檔,砍掉資料庫,執行migrate,然後執行 rake dev:setup 建立一個使用者。